1. Technical Field
The present invention relates generally to an improved method to manage logical volumes and, in particular, to a method and an apparatus for volume creation in the presence of multiple aggregators.
2. Description of the Related Art
The Logical Volume Manager (LVM) is a subsystem for on-line disk storage management that adds an additional layer between the physical devices and the block I/O interface in the kernel of the operating system to allow a logical view on storage. For systems without a LVM, each of the partitions that is usable by the operating system is assigned a drive letter, such as xe2x80x9cC:xe2x80x9d or xe2x80x9cF:xe2x80x9d, producing a correlating drive letter for each partition on a disk in the computer system. The process which assigns these letters is commonly known.
For systems with an LVM, a drive letter may be mapped instead to a logical volume which may contain one or more partitions. The process by which partitions are combined into a single entity is known generically as xe2x80x9caggregation.xe2x80x9dThere are various forms of aggregation, such as Drive Linking and software Redundant Array of Independent Disks (xe2x80x9cRAIDxe2x80x9d). Each feature, i.e. a function that may be performed on a partition, aggregate or volume, offered by the LVM is a layer in the LVM. The input to a layer has the same form and structure as the output from a layer. The layers being used on a volume form a stack, and I/O requests are processed from the top most layer down the stack to the bottom most layer. Typically, the bottom most layer is a special layer called the Pass Through layer.
U.S. patent application Ser. No. 09/561,184 now abandoned, which is hereby incorporated by reference, discloses a multi-layer logical volume management system for an LVM in the OS/2 operating system. Similar systems can be extended to handle multiple levels of aggregation in other operating systems.
Multiple levels of aggregation allows multiple aggregators, such as Drive Linking and software RAID, to be used together to bypass the limitations inherent in each individual aggregation technology. As an example, many software RAID implementations have a limit on the number of partitions that can be combined into a single entity. However, by using Drive Linking to combine several software RAID entities into a single volume, the volume can have the benefits of software RAID while employing more partitions than software RAID by itself would allow.
A multi-layer logical volume management system introduces complexity and new management issues, such as ordering of features and management of aggregators during creation of the logical volume. Therefore, it would be advantageous to have a method and an apparatus to create logical volumes in the presence of multiple aggregators.
The present invention provides a method and apparatus to dynamically order features and manage features, especially aggregators, during creation of a logical volume. The present invention makes use of a partition/aggregate list to identify partitions and/or aggregates that make up a logical volume that is to be created. In addition, each element in the partition/aggregate list identifies features to be applied to itself as well as the order in which these features are to be applied. The order in which these features are to be applied is designated by a current feature indicator (CFI). Based on a current CFI count of an entry in the partition/aggregate list, application of a feature corresponding to the current CFI count is attempted. If successful, the current CFI count is incremented and the process returns to a first entry in the partition/aggregate list. If unsuccessful, the current CFI count is not incremented and the process continues on to the next entry in the partition/aggregate list.